package com.tencent.sr.iris.activity.interfaces.request.task;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.google.common.collect.Lists;

import com.alibaba.fastjson.JSON;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 事件重试入参
 *
 * @author xiaojun
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class EventRetryRequest {

    @ApiModelProperty(value = "事件类型", required = true)
    private String eventType;

    @ApiModelProperty(value = "活动id")
    private String activityId;

    @ApiModelProperty(value = "任务id")
    private String taskId;

    @ApiModelProperty(value = "uid列表")
    private List<String> uidList;

    @ApiModelProperty(value = "事件id列表")
    private List<String> eventIdempotentList;

    @NotNull(message = "startTime不能为空")
    @ApiModelProperty(value = "开始时间，格式 yyyy-MM-dd HH:mm:ss", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private String startTime;

    @NotNull(message = "endTime不能为空")
    @ApiModelProperty(value = "结束时间，格式 yyyy-MM-dd HH:mm:ss", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private String endTime;

    @ApiModelProperty(value = "处理状态,0:处理中 1:处理成功 2:处理失败")
    private Byte handingStatus;

    @ApiModelProperty(value = "处理信息，精确匹配")
    private String handingInfo;

    @ApiModelProperty(value = "事件信息")
    private String eventInfo;

}
